package com.payment.web.controller.monitor;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.payment.framework.web.base.BaseController;

/**
 * 在线用户监控
 * 
 * @author payment
 */
@Controller
@RequestMapping("/monitor/online")
public class SysUserOnlineController extends BaseController
{
//    private String prefix = "monitor/online";
//
//    @Autowired
//    private SysUserOnlineServiceImpl userOnlineService;
//
//    @Autowired
//    private OnlineSessionDAO onlineSessionDAO;
//
//    @RequiresPermissions("monitor:online:view")
//    @GetMapping()
//    public String online()
//    {
//        return prefix + "/online";
//    }
//
//    @RequiresPermissions("monitor:online:list")
//    @PostMapping("/list")
//    @ResponseBody
//    public TableDataInfo list(SysUserOnline userOnline)
//    {
//        startPage();
//        List<SysUserOnline> list = userOnlineService.selectUserOnlineList(userOnline);
//        return getDataTable(list);
//    }
//
//    @RequiresPermissions("monitor:online:batchForceLogout")
//    @Log(title = "在线用户", businessType = BusinessType.FORCE)
//    @PostMapping("/batchForceLogout")
//    @ResponseBody
//    public AjaxResult batchForceLogout(@RequestParam("ids[]") String[] ids)
//    {
//        for (String sessionId : ids)
//        {
//            SysUserOnline online = userOnlineService.selectOnlineById(sessionId);
//            if (online == null)
//            {
//                return error("用户已下线");
//            }
//            OnlineSession onlineSession = (OnlineSession) onlineSessionDAO.readSession(online.getSessionId());
//            if (onlineSession == null)
//            {
//                return error("用户已下线");
//            }
//            if (sessionId.equals(ShiroUtils.getSessionId()))
//            {
//                return error("当前登陆用户无法强退");
//            }
//            onlineSession.setStatus(OnlineStatus.off_line);
//            online.setStatus(OnlineStatus.off_line);
//            userOnlineService.saveOnline(online);
//        }
//        return success();
//    }
//
//    @RequiresPermissions("monitor:online:forceLogout")
//    @Log(title = "在线用户", businessType = BusinessType.FORCE)
//    @PostMapping("/forceLogout")
//    @ResponseBody
//    public AjaxResult forceLogout(String sessionId)
//    {
//        SysUserOnline online = userOnlineService.selectOnlineById(sessionId);
//        if (sessionId.equals(ShiroUtils.getSessionId()))
//        {
//            return error("当前登陆用户无法强退");
//        }
//        if (online == null)
//        {
//            return error("用户已下线");
//        }
//        OnlineSession onlineSession = (OnlineSession) onlineSessionDAO.readSession(online.getSessionId());
//        if (onlineSession == null)
//        {
//            return error("用户已下线");
//        }
//        onlineSession.setStatus(OnlineStatus.off_line);
//        online.setStatus(OnlineStatus.off_line);
//        userOnlineService.saveOnline(online);
//        return success();
//    }
}
